﻿//
// XN4SL - Xna Framework for Silverlight.
//
using System;

namespace Xn4Sl.Framework.Input
{
    /// <summary>
    /// Identifies a particular key on a keyboard.
    /// </summary>
    public enum Keys
    {
        /// <summary>
        /// Reserved
        /// </summary>
        None = 0,
        /// <summary>
        /// BACKSPACE key
        /// </summary>
        Back = 8,
        /// <summary>
        /// TAB key
        /// </summary>
        Tab = 9,
        /// <summary>
        /// ENTER key
        /// </summary>
        Enter = 13,
        /// <summary>
        /// PAUSE key
        /// </summary>
        Pause = 19,
        /// <summary>
        /// CAPS LOCK key
        /// </summary>
        CapsLock = 20,
        /// <summary>
        /// ESC key
        /// </summary>
        Escape = 27,
        /// <summary>
        /// SPACEBAR
        Space = 32,
        /// <summary>
        /// PAGE UP key
        /// </summary>
        PageUp = 33,
        /// <summary>
        /// PAGE DOWN key
        /// </summary>
        PageDown = 34,
        /// <summary>
        /// END key
        /// </summary>
        End = 35,
        /// <summary>
        /// HOME key
        /// </summary>
        Home = 36,
        /// <summary>
        /// LEFT ARROW key
        /// </summary>
        Left = 37,
        /// <summary>
        /// UP ARROW key
        /// </summary>
        Up = 38,
        /// <summary>
        /// RIGHT ARROW key
        /// </summary>
        Right = 39,
        /// <summary>
        /// DOWN ARROW key
        /// </summary>
        Down = 40,
        /// <summary>
        /// SELECT key
        /// </summary>
        Select = 41,
        /// <summary>
        /// PRINT key
        /// </summary>
        Print = 42,
        /// <summary>
        /// EXECUTE key
        /// </summary>
        Execute = 43,
        /// <summary>
        /// PRINT SCREEN key
        /// </summary>
        PrintScreen = 44,
        /// <summary>
        /// INS key
        /// </summary>
        Insert = 45,
        /// <summary>
        /// DEL key
        /// </summary>
        Delete = 46,
        /// <summary>
        /// HELP key
        /// </summary>
        Help = 47,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D0 = 48,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D1 = 49,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D2 = 50,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D3 = 51,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D4 = 52,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D5 = 53,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D6 = 54,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D7 = 55,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D8 = 56,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        D9 = 57,
        /// <summary>
        /// A key
        /// </summary>
        A = 65,
        /// <summary>
        /// B key
        /// </summary>
        B = 66,
        /// <summary>
        /// C key
        /// </summary>
        C = 67,
        /// <summary>
        /// D key
        /// </summary>
        D = 68,
        /// <summary>
        /// E key
        /// </summary>
        E = 69,
        /// <summary>
        /// F key
        /// </summary>
        F = 70,
        /// <summary>
        /// G key
        /// </summary>
        G = 71,
        /// <summary>
        /// H key
        /// </summary>
        H = 72,
        /// <summary>
        /// I key
        /// </summary>
        I = 73,
        /// <summary>
        /// J key
        /// </summary>
        J = 74,
        /// <summary>
        /// K key
        /// </summary>
        K = 75,
        /// <summary>
        /// L key
        /// </summary>
        L = 76,
        /// <summary>
        /// M key
        /// </summary>
        M = 77,
        /// <summary>
        /// N key
        /// </summary>
        N = 78,
        /// <summary>
        /// O key
        /// </summary>
        O = 79,
        /// <summary>
        /// P key
        /// </summary>
        P = 80,
        /// <summary>
        /// Q key
        /// </summary>
        Q = 81,
        /// <summary>
        /// R key
        /// </summary>
        R = 82,
        /// <summary>
        /// S key
        /// </summary>
        S = 83,
        /// <summary>
        /// T key
        /// </summary>
        T = 84,
        /// <summary>
        /// U key
        /// </summary>
        U = 85,
        /// <summary>
        /// V key
        /// </summary>
        V = 86,
        /// <summary>
        /// W key
        /// </summary>
        W = 87,
        /// <summary>
        /// X key
        /// </summary>
        X = 88,
        /// <summary>
        /// Y key
        /// </summary>
        Y = 89,
        /// <summary>
        /// Z key
        Z = 90,
        /// <summary>
        /// Left Windows key
        /// </summary>
        LeftWindows = 91,
        /// <summary>
        /// Right Windows key
        /// </summary>
        RightWindows = 92,
        /// <summary>
        /// Applications key
        /// </summary>
        Apps = 93,
        /// <summary>
        /// Computer Sleep key
        /// </summary>
        Sleep = 95,
        /// <summary>
        /// Numeric keypad 0 key
        /// </summary>
        NumPad0 = 96,
        /// <summary>
        /// Numeric keypad 1 key
        /// </summary>
        NumPad1 = 97,
        /// <summary>
        /// Numeric keypad 2 key
        /// </summary>
        NumPad2 = 98,
        /// <summary>
        /// Numeric keypad 3 key
        /// </summary>
        NumPad3 = 99,
        /// <summary>
        /// Numeric keypad 4 key
        /// </summary>
        NumPad4 = 100,
        /// <summary>
        /// Numeric keypad 5 key
        /// </summary>
        NumPad5 = 101,
        /// <summary>
        /// Numeric keypad 6 key
        /// </summary>
        NumPad6 = 102,
        /// <summary>
        /// Numeric keypad 7 key
        /// </summary>
        NumPad7 = 103,
        /// <summary>
        /// Numeric keypad 8 key
        /// </summary>
        NumPad8 = 104,
        /// <summary>
        /// Numeric keypad 9 key
        /// </summary>
        NumPad9 = 105,
        /// <summary>
        /// Multiply key
        /// </summary>
        Multiply = 106,
        /// <summary>
        /// Add key
        /// </summary>
        Add = 107,
        /// <summary>
        /// Separator key
        /// </summary>
        Separator = 108,
        /// <summary>
        /// Subtract key
        /// </summary>
        Subtract = 109,
        /// <summary>
        /// Decimal key
        /// </summary>
        Decimal = 110,
        /// <summary>
        /// Divide key
        /// </summary>
        Divide = 111,
        /// <summary>
        /// F1 key
        /// </summary>
        F1 = 112,
        /// <summary>
        /// F2 key
        /// </summary>
        F2 = 113,
        /// <summary>
        /// F3 key
        /// </summary>
        F3 = 114,
        /// <summary>
        /// F4 key
        /// </summary>
        F4 = 115,
        /// <summary>
        /// F5 key
        /// </summary>
        F5 = 116,
        /// <summary>
        /// F6 key
        /// </summary>
        F6 = 117,
        /// <summary>
        /// F7 key
        /// </summary>
        F7 = 118,
        /// <summary>
        /// F8 key
        /// </summary>
        F8 = 119,
        /// <summary>
        /// F9 key
        /// </summary>
        F9 = 120,
        /// <summary>
        /// F10 key
        /// </summary>
        F10 = 121,
        /// <summary>
        /// F11 key
        /// </summary>
        F11 = 122,
        /// <summary>
        /// F12 key
        /// </summary>
        F12 = 123,
        /// <summary>
        /// F13 key
        /// </summary>
        F13 = 124,
        /// <summary>
        /// F14 key
        /// </summary>
        F14 = 125,
        /// <summary>
        /// F15 key
        /// </summary>
        F15 = 126,
        /// <summary>
        /// F16 key
        /// </summary>
        F16 = 127,
        /// <summary>
        /// F17 key
        /// </summary>
        F17 = 128,
        /// <summary>
        /// F18 key
        /// </summary>
        F18 = 129,
        /// <summary>
        /// F19 key
        /// </summary>
        F19 = 130,
        /// <summary>
        /// F20 key
        /// </summary>
        F20 = 131,
        /// <summary>
        /// F21 key
        /// </summary>
        F21 = 132,
        /// <summary>
        /// F22 key
        /// </summary>
        F22 = 133,
        /// <summary>
        /// F23 key
        /// </summary>
        F23 = 134,
        /// <summary>
        /// F24 key
        /// </summary>
        F24 = 135,
        /// <summary>
        /// NUM LOCK key
        /// </summary>
        NumLock = 144,
        /// <summary>
        /// SCROLL LOCK key
        /// </summary>
        Scroll = 145,
        /// <summary>
        /// Left SHIFT key
        /// </summary>
        LeftShift = 160,
        /// <summary>
        /// Right SHIFT key
        /// </summary>
        RightShift = 161,
        /// <summary>
        /// Left CONTROL key
        /// </summary>
        LeftControl = 162,
        /// <summary>
        /// Right CONTROL key
        /// </summary>
        RightControl = 163,
        /// <summary>
        /// Left ALT key
        /// </summary>
        LeftAlt = 164,
        /// <summary>
        /// Right ALT key
        /// </summary>
        RightAlt = 165,
        /// <summary>
        /// Windows 2000/XP: Browser Back key
        /// </summary>
        BrowserBack = 166,
        /// <summary>
        /// Windows 2000/XP: Browser Forward key
        /// </summary>
        BrowserForward = 167,
        /// <summary>
        /// Windows 2000/XP: Browser Refresh key
        /// </summary>
        BrowserRefresh = 168,
        /// <summary>
        /// Windows 2000/XP: Browser Stop key
        /// </summary>
        BrowserStop = 169,
        /// <summary>
        /// Windows 2000/XP: Browser Search key
        /// </summary>
        BrowserSearch = 170,
        /// <summary>
        /// Windows 2000/XP: Browser Favorites key
        /// </summary>
        BrowserFavorites = 171,
        /// <summary>
        /// Windows 2000/XP: Browser Start and Home key
        /// </summary>
        BrowserHome = 172,
        /// <summary>
        /// Windows 2000/XP: Volume Mute key
        /// </summary>
        VolumeMute = 173,
        /// <summary>
        /// Windows 2000/XP: Volume Down key
        /// </summary>
        VolumeDown = 174,
        /// <summary>
        /// Windows 2000/XP: Volume Up key
        /// </summary>
        VolumeUp = 175,
        /// <summary>
        /// Windows 2000/XP: Next Track key
        /// </summary>
        MediaNextTrack = 176,
        /// <summary>
        /// Windows 2000/XP: Previous Track key
        /// </summary>
        MediaPreviousTrack = 177,
        /// <summary>
        /// Windows 2000/XP: Stop Media key
        /// </summary>
        MediaStop = 178,
        /// <summary>
        /// Windows 2000/XP: Play/Pause Media key
        /// </summary>
        MediaPlayPause = 179,
        /// <summary>
        /// Windows 2000/XP: Start Mail key
        /// </summary>
        LaunchMail = 180,
        /// <summary>
        /// Windows 2000/XP: Select Media key
        /// </summary>
        SelectMedia = 181,
        /// <summary>
        /// Windows 2000/XP: Start Application 1 key
        /// </summary>
        LaunchApplication1 = 182,
        /// <summary>
        /// Windows 2000/XP: Start Application 2 key
        /// </summary>
        LaunchApplication2 = 183,
        /// <summary>
        /// Windows 2000/XP: The OEM Semicolon key on a US standard keyboard
        /// </summary>
        OemSemicolon = 186,
        /// <summary>
        /// Windows 2000/XP: For any country/region, the '+' key
        /// </summary>
        OemPlus = 187,
        /// <summary>
        /// Windows 2000/XP: For any country/region, the ',' key
        /// </summary>
        OemComma = 188,
        /// <summary>
        /// Windows 2000/XP: For any country/region, the '-' key
        /// </summary>
        OemMinus = 189,
        /// <summary>
        /// Windows 2000/XP: For any country/region, the '.' key
        /// </summary>
        OemPeriod = 190,
        /// <summary>
        /// Windows 2000/XP: The OEM question mark key on a US standard keyboard
        /// </summary>
        OemQuestion = 191,
        /// <summary>
        /// Windows 2000/XP: The OEM tilde key on a US standard keyboard
        /// </summary>
        OemTilde = 192,
        /// <summary>
        /// Green ChatPad key
        /// </summary>
        ChatPadGreen = 202,
        /// <summary>
        /// Orange ChatPad key
        /// </summary>
        ChatPadOrange = 203,
        /// <summary>
        /// Windows 2000/XP: The OEM open bracket key on a US standard keyboard
        /// </summary>
        OemOpenBrackets = 219,
        /// <summary>
        /// Windows 2000/XP: The OEM pipe key on a US standard keyboard
        /// </summary>
        OemPipe = 220,
        /// <summary>
        /// Windows 2000/XP: The OEM close bracket key on a US standard keyboard
        /// </summary>
        OemCloseBrackets = 221,
        /// <summary>
        /// Windows 2000/XP: The OEM singled/double quote key on a US standard keyboard
        /// </summary>
        OemQuotes = 222,
        /// <summary>
        /// Used for miscellaneous characters; it can vary by keyboard.
        /// </summary>
        Oem8 = 223,
        /// <summary>
        /// Windows 2000/XP: The OEM angle bracket or backslash key on the RT 102 key
        /// keyboard
        /// </summary>
        OemBackslash = 226,
        /// <summary>
        /// Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
        /// </summary>
        ProcessKey = 229,
        /// <summary>
        /// Attn key
        /// </summary>
        Attn = 246,
        /// <summary>
        /// CrSel key
        /// </summary>
        Crsel = 247,
        /// <summary>
        /// ExSel key
        /// </summary>
        Exsel = 248,
        /// <summary>
        /// Erase EOF key
        /// </summary>
        EraseEof = 249,
        /// <summary>
        /// Play key
        /// </summary>
        Play = 250,
        /// <summary>
        /// Zoom key
        /// </summary>
        Zoom = 251,
        /// <summary>
        /// PA1 key
        /// </summary>
        Pa1 = 253,
        /// <summary>
        /// CLEAR key
        /// </summary>
        OemClear = 254,
    }
}
